This application claims priority of European Patent Application No. 98302653.5, which was filed on Apr. 03, 1998
1. Field of the Invention
This invention relates to iterative decoding of signals in a receiver e.g. a base station in a digital wireless communication system.
2. Description of Related Art
Iterative decoding algorithms have become a vital field of research in digital communications. The first discovered and still most popular encoding scheme suited for iterative decoding is the parallel concatenation of two recursive systematic convolutional codes, also referred to as xe2x80x9cTurbo Codesxe2x80x9d. The underlying xe2x80x9cTurbo Principlexe2x80x9d is applicable more generally to other algorithms used in modern digital communications, and in the past few years, other applications of the xe2x80x9cTurbo Principlexe2x80x9d have been found.
Channel coding is used to make the transmitted digital information signal more robust against noise. For this the information bit sequence gets encoded at the transmitter by a channel encoder and decoded at the receiver by a channel decoder. In the encoder redundant information is added to the information bit sequence in order to facilitate error correction in the decoder. For example, in a systematic channel encoding scheme the redundant information is added to the information bit sequence as additional, inserted xe2x80x9ccodedxe2x80x9d bits. In a non-systematic encoding scheme the outgoing bits are ail coded bits, and there are no longer any xe2x80x9cnakedxe2x80x9d information bits. The number of incoming bits (information bits) at the encoder is smaller than the number of outgoing bits (information bits plus inserted coded bits, or ail coded bits). The ratio of incoming/outgoing bits is called the xe2x80x9ccode rate Rxe2x80x9d (typically R=1:2).
Recent improvements using the xe2x80x9cTurbo Principlexe2x80x9d have shown that, in digital communication systems involving a plurality of users in wireless communication with a receiver, an improvement in the quality of the decoded signal can be achieved by applying iterative decoding steps to the received data. In particular, xe2x80x9cIterative Equalization and Decoding in Mobile Communication Systemsxe2x80x9d by Baunch, Khorram and Hagenauer, EPMCC ""97, pp 307-312, October 1997, Bonn, Germany, discusses the application of the Turbo principle to iterative decoding of coded data transmitted over a mobile radio channel.
In order to be suitable for iterative decoding, a transmitted signal must be encoded by at least two concatenated codes, either serially or parallelly concatenated.
FIG. 1 shows a serially concatenated coding scheme: the transmission is done on a block-by-block basis. The binary signal from the digital source gets encoded firstly by an outer encoder and is then passed through an interleaver, which changes the order of the incoming bit symbols to make the signal appear more random to the following processing stages. After the interleaver, the signal gets encoded a second time by an xe2x80x9cinner encoderxe2x80x9d. Correspondingly, at the receiver the signal gets first decoded by the inner decoder in a first decoding step, deinterleaved, and decoded by the outer decoder in a second decoding step. From the outer decoder soft decision values are fed back as additional xe2x80x9ca priorixe2x80x9d input to the inner decoder. The soft decision values provide information on the reliability of the hard decision values. In a first iteration the decoding step is repeated and the soft decision values are used as input values for the first and second decoder.
The iterative decoding of a particular transmitted sequence is stopped with an arbitrary termination criterion, e.g. after a fixed number of iterations, or until a certain bit error rate is reached. It should be noted that the xe2x80x9ca priorixe2x80x9d soft value input to the inner decoder is set to zero for the very first decoding of the transmitted bit sequence (xe2x80x9c0 th iterationxe2x80x9d).
The inner and outer binary codes can be of any type: systematic, or nonsystematic, block or convolutional codes. Simple mapping (e.g. antipodal or binary phase shift keying) is performed in the transmitter (after the inner encoder) and simple demapping is performed in the receiver (after the inner decoder) although for clarity this is not shown in FIG. 1. Likewise, FIG. 1 illustrates a single user scenario, although application of appropriate multiplexing provides a suitable multi user system.
At the receiver the two decoders are soft-in/soft-out decoders (SISO decoder). A soft value represents the reliability on the bit decision of the respective bit symbol (whether 0 or 1 was sent). A soft-in decoder accepts soft reliability values for the incoming bit symbols. A soft-out decoder provides soft reliability output values on the outgoing bit symbols. The soft-out reliability values are usually more accurate than the soft-in reliability values since they are improved during the decoding process, based on the redundant information added with each encoding step at the transmitter. The best performance is achieved by a SISO-decoder which provides the A Posteriori Probability calculator (APP), tailored to the respective channel code. Several faster, but suboptimal algorithms exist, e.g. the SOVA (soft output Viterbi algorithm).
In the particular application of a mobile communication system, the channel encoder and the intersymbol interference (ISI) channel may be viewed as a serially concatenated encoding scheme, with the channel encoder acting as the outer encoder and the ISI-channel acting as an inner, rate 1, time-varying convolution encoder. Thus, iterative decoding is suitable for application, in particular, to the European Wireless Digital Cellular Standard xe2x80x9cGSMxe2x80x9d with the equalizer performing the inner decoding step and the decoder providing the outer decoding step. Where bad communication channel conditions (low SNR, fading, multipath propagation, etc.) exist, an improvement in the Bit Error Rate (BER) may be achieved with each iterative decoding step until a BER floor is reached. The signal received by a base station is equalized to provide soft decision values of the received coded bits.
Repeating the decoding step several times can improve the BER of the received signal. However, each iterative decoding step consumes resources, such as memory, computation time and ties up dedicated ASICs (Application Specific Integrated Circuits). In a practical base station, the number of signals that can be decoded in parallel is limited by the number of signal processing units (SPU) available; providing iterative decoding hardware, such as digital signal processors (DSPs), and software to each SPU adds considerably to the cost and complexity of the base station.
In multilevel modulation, N bits (bit symbols) are grouped together at the transmitter to form one xe2x80x9cmapped symbolxe2x80x9d (also briefly referred to as xe2x80x9csymbolxe2x80x9d). This symbol can be mapped onto a real or a complex signal space (i.e. real axis, or complex plane). The mapping operation simply associates the unmapped symbol (N bits, value from 0, . . . , 2Nxe2x88x921) with a discrete amplitude level for Pulse Amplitude Modulation (PAM), a discrete phase level for Phase Shift Keying (PSK), any discrete signal point in the complex plane for Quadrature Amplitude Modulation (QAM) or any combination of PAM, QAM, PSK. Typically a Gray-Code mapping is used in which case adjacent signal points differ by exactly one binary digit. In general the mapping can be of any type.
At the receiver the incoming symbols are noise affected. The hard decision demapping operation associates the incoming symbol with the closest signal point in the signal space (signal point with minimum Euclidean distance in real or complex signal space) and takes for example the respective Gray-encoded codeword as the hard decision values (0,1) for the N bits per mapped symbol.
However, if multilevel modulation is used in conjunction with channel coding and soft channel decoding (i.e. a soft input decoder) the demapping operation preferably calculates soft reliability values as inputs to the channel decoder. For simplicity, xe2x80x9cmultilevel modulationxe2x80x9d is used when referring to PAM, PSK and QAM modulation, meaning xe2x80x9cmulti-amplitude levelxe2x80x9d for PAM, xe2x80x9cmulti phase levelxe2x80x9d for PSK and xe2x80x9cmulti signal pointsxe2x80x9d for QAM.
According to a first aspect of the invention there is provided a method of iteratively decoding a signal comprising the steps of: demapping the signal; and decoding the demapped signal and characterized in that the demapping step and the decoding step are iterated and further characterized in that the iterated demapping step uses, as an input, the output of the previous decoding step.
According to a second aspect of the invention there is provided apparatus for iteratively decoding a signal comprising: a demapper, having a first input for receiving the signal and an output, for generating a demapped signal; a decoder, having an input for receiving the demapped signal and an output for generating a decoded signal; and characterized in that the demapper has a second input for receiving the decoded signal.